-
Notifications
You must be signed in to change notification settings - Fork 21
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
Add Giant Mole #524
Conversation
* 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
npc id 3340 is correct some sounds they can be found at https://oldschool.runescape.wiki/w/List_of_in-game_sound_IDs animations graphics interface |
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 |
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 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? |
you can get the race from the rs3 wiki https://runescape.wiki/w/Goblin is just under NPCDeath.kts fun deathAnimation(npc: NPC): String { all it is doing is looking for what you added under race in npc.yml then it looks for the anim in animations.yml |
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 |
i think for now just do race: giant_mole and
i think Greg was going to change it from race: to type: but i think keeping race: there |
okay i got you, thank you for taking the time to give me your help 👍 |
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
There was a problem hiding this 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
game/src/main/kotlin/world/gregs/voidps/world/interact/entity/npc/combat/type/GiantMole.kts
Outdated
Show resolved
Hide resolved
game/src/main/kotlin/world/gregs/voidps/world/interact/entity/npc/combat/type/GiantMole.kts
Show resolved
Hide resolved
game/src/main/kotlin/world/gregs/voidps/world/interact/entity/npc/combat/type/GiantMole.kts
Outdated
Show resolved
Hide resolved
game/src/main/kotlin/world/gregs/voidps/world/interact/entity/npc/combat/type/GiantMole.kts
Outdated
Show resolved
Hide resolved
* 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
There was a problem hiding this 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
game/src/main/kotlin/world/gregs/voidps/world/interact/entity/npc/combat/type/GiantMole.kts
Outdated
Show resolved
Hide resolved
} | ||
mole.attackers.clear() | ||
var tileToDust = getTotalDirection(mole.facing, mole.tile) | ||
World.queue("await_mole_to_face", 1) { |
There was a problem hiding this comment.
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(
game/src/main/kotlin/world/gregs/voidps/world/interact/entity/npc/combat/type/GiantMole.kts
Outdated
Show resolved
Hide resolved
game/src/main/kotlin/world/gregs/voidps/world/interact/entity/npc/combat/type/GiantMole.kts
Outdated
Show resolved
Hide resolved
* Change `World.queue` to `mole.queue`
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
@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! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good!
Giant Mole
warning_dark
interfacelevel_one_darkness
,level_two_darkness
,level_three_darkness
overlays for different strength of darknessGiant Mole
innpcs.yml
giant_mole_lair
toareas.yml
Giant Mole
spawn tonpc-spawns.yml
GiantMole.kts
to handleGiant Moles
fight mechanics