Adds Onestar mech ghost-role enemy (#6943)

Co-authored-by: mirrorcult <lunarautomaton6@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
This commit is contained in:
T-Stalker
2022-03-12 20:14:17 -03:00
committed by GitHub
parent cc896568c5
commit f88fe48a6a
21 changed files with 561 additions and 0 deletions

View File

@@ -114,6 +114,7 @@ namespace Content.Server.Weapon.Ranged.Ammunition.Components
Pistol,
A35, // Placeholder?
LRifle,
HRifle,
Magnum,
AntiMaterial,
Shotgun,

View File

@@ -151,3 +151,61 @@
- type: Repairable
fuelcost: 15
doAfterDelay: 8
- type: entity
name: onestar mecha
id: Onestar
parent: PlayerSiliconBase
components:
- type: Drone
tools:
- id: Minigun
- id: EnergySword
- id: LauncherMultipleRocket
- id: XrayCannon
- type: UserInterface
interfaces:
- key: enum.StrippingUiKey.Key
type: StrippableBoundUserInterface
- type: GhostTakeoverAvailable
makeSentient: true
name: Onestar Mecha
description: You are an experimental mecha created by who-knows-what, all you know is that you have weapons and you detect fleshy moving targets nearby...
rules: Use your weapons to cause havok. You are an antagonist.
- type: MovementSpeedModifier
baseWalkSpeed : 3
baseSprintSpeed : 2
- type: MobState
thresholds:
0: !type:NormalMobState {}
1000: !type:DeadMobState {}
- type: Sprite
drawdepth: Mobs
netsync: false
layers:
- state: onestar_boss
sprite: Mobs/Silicon/onestar.rsi
- state: onestar_boss_screen
sprite: Mobs/Silicon/onestar.rsi
shader: unshaded
- type: MovementIgnoreGravity
- type: Fixtures
fixtures:
- shape:
!type:PhysShapeCircle
radius: 1
mass: 500
mask:
- SmallImpassable
- MobImpassable
- VaultImpassable
- Impassable
layer:
- Opaque
- type: Appearance
visuals:
- type: DamageStateVisualizer
rotate: true
normal: onestar_boss
dead: onestar_boss_wrecked
- type: CombatMode

View File

@@ -0,0 +1,26 @@
- type: entity
id: CartridgeHRifleBase
name: cartridge (.20 rifle)
parent: BaseCartridge
abstract: true
components:
- type: Ammo
caliber: HRifle
- type: Sprite
netsync: false
noRot: false
sprite: Objects/Weapons/Guns/Ammunition/Casings/ammo_casing.rsi
layers:
- state: base
map: ["enum.AmmoVisualLayers.Base"]
- type: Appearance
visuals:
- type: SpentAmmoVisualizer
- type: entity
id: CartridgeMinigun
name: cartridge (.10 rifle)
parent: CartridgeHRifleBase
components:
- type: Ammo
projectile: BulletMinigun

View File

@@ -0,0 +1,44 @@
- type: entity
id: MagazineHRifleBase
name: "magazine (.20 rifle)"
parent: BaseItem
abstract: true
components:
- type: RangedMagazine
caliber: HRifle
magazineType: Rifle
capacity: 100
- type: Sprite
netsync: false
layers:
- state: base
map: ["enum.RangedBarrelVisualLayers.Base"]
- state: mag-1
map: ["enum.RangedBarrelVisualLayers.Mag"]
- type: Appearance
visuals:
- type: MagVisualizer
magState: mag
steps: 2
zeroVisible: false
- type: entity
id: MagazineMinigun
name: "Minigun magazine box (.10 rifle)"
parent: MagazineHRifleBase
components:
- type: RangedMagazine
fillPrototype: CartridgeMinigun
magazineType: Box
capacity: 1000
- type: Sprite
sprite: Objects/Weapons/Guns/Ammunition/Magazine/LRifle/l_rifle_box.rsi
- type: Appearance
visuals:
- type: MagVisualizer
magState: mag
steps: 8
zeroVisible: false

View File

@@ -0,0 +1,21 @@
- type: entity
id: BulletHRifle
name: bullet (.20 rifle)
parent: BulletBase
abstract: true
components:
- type: Projectile
damage:
types:
Piercing: 28
- type: entity
id: BulletMinigun
name: minigun bullet (.10 rifle)
parent: BulletHRifle
abstract: true
components:
- type: Projectile
damage:
types:
Piercing: 5

View File

@@ -84,3 +84,19 @@
- type: Appearance
visuals:
- type: SpentAmmoVisualizer
- type: entity
id: SlowRocketAmmo
name: PG-7VL grenade "Snail-Rocket"
parent: BaseItem
description: A 1.5 warhead designed for the RPG-7 launcher. It is unusually slow.
components:
- type: Ammo
caliber: Rocket
projectile: WeakBulletRocket
caseless: true
ammoVelocity: 4.5
- type: Sprite
netsync: false
sprite: Objects/Weapons/Guns/Ammunition/Explosives/rpg.rsi
state: frag

View File

@@ -0,0 +1,77 @@
- type: entity
name: heavy machinegun
parent: BaseItem
id: HMGBase
description: Spray and pray
abstract: true
components:
- type: Sprite
netsync: false
- type: Icon
state: icon
- type: Item
size: 24
- type: MagazineBarrel
currentSelector: Automatic
allSelectors:
- Automatic
caliber: HRifle
magazineTypes:
- Box
fireRate: 20
minAngle: 10
maxAngle: 45
angleIncrease: 10
angleDecay: 60
magNeedsOpenBolt: false
soundGunshot:
path: /Audio/Weapons/Guns/Gunshots/lmg.ogg
soundEmpty:
path: /Audio/Weapons/Guns/Empty/lmg_empty.ogg
soundRack:
path: /Audio/Weapons/Guns/Cock/lmg_cock.ogg
soundBoltOpen:
path: /Audio/Weapons/Guns/Bolt/rifle_bolt_open.ogg
soundBoltClosed:
path: /Audio/Weapons/Guns/Bolt/rifle_bolt_closed.ogg
soundAutoEject:
path: /Audio/Weapons/Guns/EmptyAlarm/lmg_empty_alarm.ogg
soundMagInsert:
path: /Audio/Weapons/Guns/MagIn/lmg_magin.ogg
soundMagEject:
path: /Audio/Weapons/Guns/MagOut/lmg_magout.ogg
- type: entity
name: minigun
id: Minigun
parent: HMGBase
description: Vzzzzzt! Rahrahrahrah! Vrrrrr!
components:
- type: Sprite
sprite: Objects/Weapons/Guns/HMGs/minigun.rsi
layers:
- state: base
map: ["enum.RangedBarrelVisualLayers.Base"]
- state: bolt-closed
map: ["enum.RangedBarrelVisualLayers.Bolt"]
- type: Icon
sprite: Objects/Weapons/Guns/HMGs/minigun.rsi
- type: Item
size: 24
sprite: Objects/Weapons/Guns/HMGs/minigun.rsi
- type: RangedWeapon
- type: MagazineBarrel
magFillPrototype: MagazineMinigun
fireRate: 15
minAngle: 0
maxAngle: 15
angleIncrease: 15
angleDecay: 60
- type: Appearance
visuals:
- type: BarrelBoltVisualizer
- type: MagVisualizer
magState: mag
steps: 4
zeroVisible: true

View File

@@ -82,3 +82,45 @@
magState: mag
steps: 1
zeroVisible: true
- type: entity
name: multiple rocket launcher
parent: LauncherBase
id: LauncherMultipleRocket
description: A modified ancient rocket-propelled grenade launcher.
components:
- type: Sprite
sprite: Objects/Weapons/Guns/Launchers/rocket.rsi
layers:
- state: base
map: ["enum.RangedBarrelVisualLayers.Base"]
- state: mag-0
map: ["enum.RangedBarrelVisualLayers.Mag"]
- type: Item
size: 24
sprite: Objects/Weapons/Guns/Launchers/rocket.rsi
- type: RangedWeapon
- type: RevolverBarrel
caliber: Rocket
currentSelector: Automatic
allSelectors:
- Single
fillPrototype: SlowRocketAmmo
fireRate: 6
minAngle: 0
maxAngle: 15
angleIncrease: 15
angleDecay: 60
capacity: 30
soundEmpty:
path: /Audio/Weapons/Guns/Empty/empty.ogg
soundGunshot:
path: /Audio/Weapons/Guns/Gunshots/rpgfire.ogg
soundInsert:
path: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg
- type: Appearance
visuals:
- type: MagVisualizer
magState: mag
steps: 1
zeroVisible: true

View File

@@ -196,6 +196,28 @@
color: orange
energy: 0.5
- type: entity
id: WeakBulletRocket
name: weak rocket
parent: TriggerBulletBase
abstract: true
components:
- type: Sprite
netsync: false
sprite: Objects/Weapons/Guns/Projectiles/rocket.rsi
state: frag
- type: ExplodeOnTrigger
- type: Explosive
devastationRange: 0
heavyImpactRange: 0
lightImpactRange: 1
flashRange: 10
- type: PointLight
radius: 3.5
color: orange
energy: 0.5
- type: entity
id: BulletGrenadeBaton
name: baton grenade

View File

@@ -0,0 +1,193 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "https://github.com/discordia-space/CEV-Eris/pull/3768",
"size": {
"x": 64,
"y": 64
},
"states": [
{
"name": "onestar_boss",
"directions": 4
},
{
"name": "onestar_boss_unpowered"
},
{
"name": "onestar_boss_wrecked",
"delays": [
[
3,
0.9,
0.9,
0.9,
0.9,
0.9
]
]
},
{
"name": "onestar_boss_screen",
"directions": 4,
"delays": [
[
6,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
6,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
6,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1
],
[
6,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
6,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
6,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1
],
[
6,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
6,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
6,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1
],
[
6,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
6,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
6,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1
]
]
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 825 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 825 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 825 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 580 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 825 B

View File

@@ -0,0 +1,61 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "https://github.com/tgstation/tgstation/commit/a39e3f3f1f351e3be5ae955c4de3a2e8889e191b",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "base",
"delays": [
[
0.1,
0.1,
0.1,
0.1
]
]
},
{
"name": "holstered"
},
{
"name": "notholstered"
},
{
"name": "bolt-closed",
"delays": [
[
0.1,
0.1,
0.1,
0.1
]
]
},
{
"name": "bolt-open",
"delays": [
[
0.1,
0.1,
0.1,
0.1
]
]
},
{
"name": "icon",
"delays": [
[
0.1,
0.1,
0.1,
0.1
]
]
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 389 B