Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Giant Mole #524

Merged
merged 9 commits into from
May 1, 2024
Merged

Add Giant Mole #524

merged 9 commits into from
May 1, 2024

Conversation

Syntax2022
Copy link
Contributor

  • Add burrowing animation for Giant Mole
  • Add component ID to warning_dark interface
  • Add level_one_darkness, level_two_darkness, level_three_darkness overlays for different strength of darkness
  • Add stats for Giant Mole in npcs.yml
  • Add new area called giant_mole_lair to areas.yml
  • Add Giant Mole spawn to npc-spawns.yml
  • Add GiantMole.kts to handle Giant Moles fight mechanics

* Add component ID to `warning_dark` interface
* Add `level_one_darkness`, `level_two_darkness`, `level_three_darkness` overlays for different strength of darkness
* Add stats for `Giant Mole` in `npcs.yml`
* Add new area called `giant_mole_lair` to `areas.yml`
* Add `Giant Mole` spawn to `npc-spawns.yml`
* Add `GiantMole.kts` to handle `Giant Moles` fight mechanics
@jarryd229
Copy link
Contributor

npc id 3340 is correct

some sounds they can be found at https://oldschool.runescape.wiki/w/List_of_in-game_sound_IDs
just remember not all are correct because old school has changed and added some
1641 | mole_burrow_down
1642 | mole_attack
1643 | mole_burrow //im not sure when this one is used
1644 | mole_burrow_up
1645 | mole_death
1646 | mole_hit

animations
death: 3310
mole_hit: 3311
mole_attack: 3312
burrow_down: 3314
burrow_up: 3315

graphics
dirt Projectile: 570
burrow dust: 571
burrow down: 572
burrow up maybe 573

interface
dirt on screen 226

@Syntax2022
Copy link
Contributor Author

npc id 3340 is correct

The reason why I thought it was incorrect was because it had no animations, and other times i came across this issue it was because it was the wrong ID, but this case i must be wrong?

and again you're the best for the ID's :D

@jarryd229
Copy link
Contributor

i ended up dumping the Giant Mole when the beta was on so you got lucky that was like the only boss i got

npcs won't have animations unless they have been added in animations.yml atm its under race: for example in npc.yml race: goblin it will then get the goblin_ info from animations.yml
goblin_attack: 6184
goblin_hit: 6183
goblin_death: 6182

i have been talking to Greg to get it changed because it will not work for example race: bird you have seagull, terrorbird, chicken but they are all under race bird but have all different animations

@Syntax2022
Copy link
Contributor Author

i ended up dumping the Giant Mole when the beta was on so you got lucky that was like the only boss i got

npcs won't have animations unless they have been added in animations.yml atm its under race: for example in npc.yml race: goblin it will then get the goblin_ info from animations.yml goblin_attack: 6184 goblin_hit: 6183 goblin_death: 6182

i have been talking to Greg to get it changed because it will not work for example race: bird you have seagull, terrorbird, chicken but they are all under race bird but have all different animations

are races predefined? so i cannot put race: mammal, Greg already has them defined somewhere?

@jarryd229
Copy link
Contributor

you can get the race from the rs3 wiki https://runescape.wiki/w/Goblin

is just under NPCDeath.kts

fun deathAnimation(npc: NPC): String {
if (npc.race.isNotEmpty()) {
return "${npc.race}_death"
}
return npc.def.getOrNull("death_anim") ?: ""
}

all it is doing is looking for what you added under race in npc.yml then it looks for the anim in animations.yml

@Syntax2022
Copy link
Contributor Author

Syntax2022 commented Apr 28, 2024

Ahh okay i understand now. thank you. if i am correct

i can do the following:

giant_mole: # this is the wrong ID for giant mole still need to find the correct one | burrow anim id found | coming up from ground not found
  id: 3340
  hitpoints: 2000
  att: 200
  str: 200
  def: 200
  max_hit_melee: 210
  style: crush
  race: mole_rodent < race mole_rodent
  respawn_delay: 16
  wander_radius: 5
  examine: "Holy Mole-y!"

and inside animations.yml

mole_rodent_attack:  -1
mole_rodent_hit:  -1
mole_rodent_death:  -1

-1 being the actual id's

@jarryd229
Copy link
Contributor

jarryd229 commented Apr 28, 2024

i think for now just do race: giant_mole

and

giant_mole_attack: 3312
giant_mole_hit: 3311
giant_mole_death: 3310

i think Greg was going to change it from race: to type: but i think keeping race: there

@Syntax2022
Copy link
Contributor Author

okay i got you, thank you for taking the time to give me your help 👍

@jarryd229
Copy link
Contributor

yer no worries

…tions.yml`

* Add `dirt_on_screen` overlay to `interfaces.yml`
* Add `race: giant_mole` to `Giant Mole` in `npcs.yml`
* Add the `giant_mole_lair_escape_rope` object to `objects.yml`
* Extend boundary for `giant_mole_lair` to cover that whole area, before the north and south parts of the lair weren't included in the area
* Add `objectOperate` to `GiantMole.kts` to handle when a player climbs the rope.
* Add Graphic `burrow_dust` to `graphics.yml`
* Add `giant_mole_spawn_area` to `areas.yml` This seems to fix the issues with the mole spawning outside the playing area due to the north and south sides of the lair having walkable tiles outside the playable space.
* Add common drops for `giant_mole` to `drops.yml`
* Add the mechanic that allows the `giant mole` to burrow with a small chance to throw dirt on the players screen and extinguish any naked flames (candles)
* Changed the percentage of the `giant mole` burrowing chance back to 25%
* Remove redundant comment in `npcs.yml`
* Add sounds `giant_mole_burrow_down`, `giant_mole_attack`, `giant_mole_hit`, `giant_mole_burrow`, and `giant_mole_death` to `sounds.yml`
* Add complete drop table for `Giant mole` in `drops.yml`
* Remove redundant commends from `GiantMole.kts`
* Add `giant_mole_burrow_down` sound when the `Giant mole` burrow to a new location
* Add `mole_burrow_up` when the `Giant mole` has move to it's new location
* Add inventory check in a scenario where a player may drop their light source or was extinguished to then remove or apple the darkness overlay
@Syntax2022 Syntax2022 marked this pull request as ready for review April 29, 2024 20:23
@Syntax2022 Syntax2022 changed the title Boss: Giant Mole Add Giant Mole Apr 29, 2024
Copy link
Owner

@GregHib GregHib left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

First pass just looking at the code, will play test later

Syntax2022 and others added 2 commits April 30, 2024 00:12
* Add `Baby Mole` spawns to `npcs-spawns.ym`
* Add `Baby Mole` to `npcs.yml`
* Change world timer checking to an NPC Clock
* Fix incorrect implementation of clearing current attacks on giant mole
Copy link
Owner

@GregHib GregHib left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be nice to have the player being able to light and extinguishing candles

}
mole.attackers.clear()
var tileToDust = getTotalDirection(mole.facing, mole.tile)
World.queue("await_mole_to_face", 1) {
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just realised these could all be npc queues i.e. mole.queue(

@Syntax2022
Copy link
Contributor Author

It would be nice to have the player being able to light and extinguishing candles

Am I able to create a new PR after this one that will give the ability to make lanterns from raw materials plus the ability to light and extinguish

@GregHib
Copy link
Owner

GregHib commented Apr 30, 2024

Am I able to create a new PR after this one that will give the ability to make lanterns from raw materials plus the ability to light and extinguish

Yeah of course, ping me when this is ready to be merged

…orthwest, southeast, and southwest options instead of just north, east, south, and west

* Add directional choices to be random
@Syntax2022
Copy link
Contributor Author

@GregHib Ready to merge when you're free and happy, would like to say, scripting for NPC's is also really fun and simple, so good job on that!

Copy link
Owner

@GregHib GregHib left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good!

@GregHib GregHib merged commit 1099295 into GregHib:main May 1, 2024
2 checks passed
@Syntax2022 Syntax2022 deleted the giantmole branch May 5, 2024 21:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants