Browse Source

Implements NPC_HELLBURNING (#5274)

* Fixes #1893.
* Implements NPC_HELLBURNING skill for Horror Toy Factory Instance.
* Enables NPC_HELLBURNING for HIDDEN_MOB7.
Thanks to @Atemo and @exneval!
Aleos 4 years ago
parent
commit
3a39d6710e
4 changed files with 29 additions and 2 deletions
  1. 2 2
      db/re/mob_skill_db.txt
  2. 22 0
      db/re/skill_db.yml
  3. 3 0
      src/map/battle.cpp
  4. 2 0
      src/map/skill.cpp

+ 2 - 2
db/re/mob_skill_db.txt

@@ -11184,8 +11184,8 @@
 
 
 3038,Hidden Mob 7@NPC_INVISIBLE,idle,353,1,10000,0,30000,yes,self,always,0,,,,,,,
 3038,Hidden Mob 7@NPC_INVISIBLE,idle,353,1,10000,0,30000,yes,self,always,0,,,,,,,
 3038,Hidden Mob 7@NPC_INVISIBLE,attack,353,1,10000,0,30000,yes,self,always,0,,,,,,,
 3038,Hidden Mob 7@NPC_INVISIBLE,attack,353,1,10000,0,30000,yes,self,always,0,,,,,,,
-// 3038,Hidden Mob 7@NPC_HELLBURNING,idle,719,1,10000,0,3000,yes,self,always,0,,,,,,,
-// 3038,Hidden Mob 7@NPC_HELLBURNING,attack,719,1,10000,0,3000,yes,self,always,0,,,,,,,
+3038,Hidden Mob 7@NPC_HELLBURNING,idle,719,1,10000,0,3000,yes,self,always,0,,,,,,,
+3038,Hidden Mob 7@NPC_HELLBURNING,attack,719,1,10000,0,3000,yes,self,always,0,,,,,,,
 
 
 // Jitterbug instance
 // Jitterbug instance
 3069,Ferre@NPC_GROUNDATTACK,attack,185,5,1000,0,5000,no,target,always,0,,,,,,,
 3069,Ferre@NPC_GROUNDATTACK,attack,185,5,1000,0,5000,no,target,always,0,,,,,,,

+ 22 - 0
db/re/skill_db.yml

@@ -16825,6 +16825,28 @@ Body:
     Flags:
     Flags:
       IsNpc: true
       IsNpc: true
     HitCount: 1
     HitCount: 1
+  - Id: 719
+    Name: NPC_HELLBURNING
+    Description: Hell Burning
+    MaxLevel: 1
+    Type: Magic
+    TargetType: Self
+    Flags:
+      IsNpc: true
+      IgnoreLandProtector: true
+    Hit: Single
+    HitCount: 1
+    Element: Fire
+    Duration1: 3000
+    Unit:
+      Id: Hellburning
+      Layout: 1
+      Interval: 20
+      Target: Enemy
+      Flag:
+        NoOverlap: true
+        PathCheck: true
+        RangedSingleUnit: true
   - Id: 720
   - Id: 720
     Name: NPC_JACKFROST
     Name: NPC_JACKFROST
     Description: Jack Frost 2
     Description: Jack Frost 2

+ 3 - 0
src/map/battle.cpp

@@ -6648,6 +6648,9 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list
 						i = cap_value(i, 1, 4);
 						i = cap_value(i, 1, 4);
 						skillratio = 2500 + ((skill_lv - i + 1) * 500);
 						skillratio = 2500 + ((skill_lv - i + 1) * 500);
 						break;
 						break;
+					case NPC_HELLBURNING:
+						skillratio += 900;
+						break;
 					case SP_CURSEEXPLOSION:
 					case SP_CURSEEXPLOSION:
 						if (tsc && tsc->data[SC_SOULCURSE])
 						if (tsc && tsc->data[SC_SOULCURSE])
 							skillratio += 1400 + 200 * skill_lv;
 							skillratio += 1400 + 200 * skill_lv;

+ 2 - 0
src/map/skill.cpp

@@ -12396,6 +12396,7 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
 	case NPC_VENOMFOG:
 	case NPC_VENOMFOG:
 	case NPC_ICEMINE:
 	case NPC_ICEMINE:
 	case NPC_FLAMECROSS:
 	case NPC_FLAMECROSS:
+	case NPC_HELLBURNING:
 	case NPC_REVERBERATION:
 	case NPC_REVERBERATION:
 	case RA_ELECTRICSHOCKER:
 	case RA_ELECTRICSHOCKER:
 	case RA_CLUSTERBOMB:
 	case RA_CLUSTERBOMB:
@@ -14278,6 +14279,7 @@ int skill_unit_onplace_timer(struct skill_unit *unit, struct block_list *bl, t_t
 		case UNT_VENOMFOG:
 		case UNT_VENOMFOG:
 		case UNT_ICEMINE:
 		case UNT_ICEMINE:
 		case UNT_FLAMECROSS:
 		case UNT_FLAMECROSS:
+		case UNT_HELLBURNING:
 			skill_attack(skill_get_type(sg->skill_id),ss,&unit->bl,bl,sg->skill_id,sg->skill_lv,tick,0);
 			skill_attack(skill_get_type(sg->skill_id),ss,&unit->bl,bl,sg->skill_id,sg->skill_lv,tick,0);
 			break;
 			break;