make dragons breathe fire (#26746)
* add ActionGun system * add RepeatingTrigger * dragons breath projectile, repeatedly explodes * give dragon fire breathing action, fireproof it * oop * oop 2 * prevent troll * proper repeating thing * pro * webedit ops * realops --------- Co-authored-by: deltanedas <@deltanedas:kde.org>
This commit is contained in:
@@ -91,6 +91,12 @@
|
||||
speedModifierThresholds:
|
||||
250: 0.7
|
||||
400: 0.5
|
||||
# disable taking damage from fire, since its a fire breathing dragon
|
||||
- type: Flammable
|
||||
damage:
|
||||
types: {}
|
||||
- type: Temperature
|
||||
heatDamageThreshold: 800
|
||||
- type: Metabolizer
|
||||
solutionOnBody: false
|
||||
updateInterval: 0.25
|
||||
@@ -141,10 +147,33 @@
|
||||
spawnRiftAction: ActionSpawnRift
|
||||
- type: GenericAntag
|
||||
rule: Dragon
|
||||
- type: ActionGun
|
||||
action: ActionDragonsBreath
|
||||
gunProto: DragonsBreathGun
|
||||
- type: GuideHelp
|
||||
guides:
|
||||
- MinorAntagonists
|
||||
|
||||
- type: entity
|
||||
noSpawn: true
|
||||
id: DragonsBreathGun
|
||||
name: dragon's lung
|
||||
description: For dragon's breathing
|
||||
components:
|
||||
- type: RechargeBasicEntityAmmo
|
||||
rechargeCooldown: 5
|
||||
rechargeSound:
|
||||
path: /Audio/Animals/space_dragon_roar.ogg
|
||||
- type: BasicEntityAmmoProvider
|
||||
proto: ProjectileDragonsBreath
|
||||
capacity: 1
|
||||
count: 1
|
||||
- type: Gun
|
||||
soundGunshot:
|
||||
path: /Audio/Animals/space_dragon_roar.ogg
|
||||
soundEmpty: null
|
||||
projectileSpeed: 5
|
||||
|
||||
- type: entity
|
||||
parent: BaseMobDragon
|
||||
id: MobDragonDungeon
|
||||
@@ -183,6 +212,7 @@
|
||||
state: icon
|
||||
event: !type:DragonSpawnRiftActionEvent
|
||||
useDelay: 1
|
||||
priority: 3
|
||||
|
||||
- type: entity
|
||||
id: ActionDevour
|
||||
@@ -194,3 +224,18 @@
|
||||
icon: { sprite : Interface/Actions/devour.rsi, state: icon }
|
||||
iconOn: { sprite : Interface/Actions/devour.rsi, state: icon-on }
|
||||
event: !type:DevourActionEvent
|
||||
priority: 1
|
||||
|
||||
- type: entity
|
||||
noSpawn: true
|
||||
id: ActionDragonsBreath
|
||||
name: "[color=orange]Dragon's Breath[/color]"
|
||||
description: Spew out flames at anyone foolish enough to attack you!
|
||||
components:
|
||||
- type: WorldTargetAction
|
||||
# TODO: actual sprite
|
||||
icon: { sprite : Objects/Weapons/Guns/Projectiles/magic.rsi, state: fireball }
|
||||
event: !type:ActionGunShootEvent
|
||||
priority: 2
|
||||
checkCanAccess: false
|
||||
range: 0
|
||||
|
||||
@@ -30,6 +30,39 @@
|
||||
- type: IgniteOnCollide
|
||||
fireStacks: 0.35
|
||||
|
||||
- type: entity
|
||||
noSpawn: true
|
||||
parent: BaseBulletTrigger
|
||||
id: ProjectileDragonsBreath
|
||||
name: dragon's breath
|
||||
description: Try not to get toasted.
|
||||
components:
|
||||
- type: PointLight
|
||||
color: "#E25822"
|
||||
radius: 3.0
|
||||
energy: 5.0
|
||||
- type: Sprite
|
||||
sprite: Objects/Weapons/Guns/Projectiles/magic.rsi
|
||||
layers:
|
||||
- state: fireball
|
||||
shader: unshaded
|
||||
- type: IgnitionSource
|
||||
temperature: 1000
|
||||
ignited: true
|
||||
- type: RepeatingTrigger
|
||||
delay: 0.5 # line of fire as well as if it hits something
|
||||
- type: ExplodeOnTrigger
|
||||
- type: Explosive
|
||||
explosionType: FireBomb
|
||||
totalIntensity: 5 # low intensity, the point is to burn attackers not to break open walls, dragons can just eat them
|
||||
intensitySlope: 1
|
||||
maxIntensity: 3
|
||||
canCreateVacuum: false
|
||||
deleteAfterExplosion: false
|
||||
repeatable: true
|
||||
- type: TimedDespawn
|
||||
lifetime: 5
|
||||
|
||||
- type: entity
|
||||
id: ProjectileAnomalyFireball
|
||||
name: fireball
|
||||
|
||||
Reference in New Issue
Block a user