Been there forever - maybe I should do something with it...MS:C community said:One of the three final chests in skycastle is worlditems/treasurechest. Intentional? I thought this was a generic placeholder chest, hence the question.
Hopefully just the submodel scramble issue, but I'll give it a once over.MS:C community said:One time, the undead orcs at the start of the_wall2 didn't actually look undead. Rare bug though, only seen this happen once.
>_> I'm effing sure I fixed this... Is their placement good? Maybe I need to rig up something script side, if something is odd about that room. (Find the g*ddamned floor, damnit!)MS:C community said:Orcs (normal or undead) in mscave still do this quite often.
Interesting... I'll check his target acquisition system. Still, if it's via dodamage, should at least need to be in LOS.MS:C community said:Here's a very strange one: The instant an ice bone warrior (the slow guys with the swords) fires a frost bolt, you're pulled out of rejuvenation, should you be casting that. The ice bone warrior doesn't even need to be near you (hell, he can be all across the map) and he doesn't even need to hit you. He just yanks you out of your rejuvenation cast the instant he fires a frost bolt. Freak bug discovered by Old Moose.
Sigh... Need a code side fix for this, me suspects.MS:C community said:In shender_east, if you go from less than 2000 HP to more than 2000 HP (by means of someone joining) or vice-versa (by means of someone leaving), the crystal spider part will break. It's similar to the orc_for door thing.
That's... One of those many MSC spasms, I guess. Poor thing has epilepsy, me thinks.MS:C community said:I also had a fallen knight tripping balls in lostcastle_msc the other day (see the Event HUD) but I'm pretty sure whatever happened was related to severe lag at the time.
They should be using the new system, seeing as how it actually replaced the old one, IIRC - but I'll check it over. However, if they have really high damage multipliers (and I'd be guessing, off hand, that they do), they'll scale their DOT accordingly (so, dmgmulti 10 = 5%-10% of your HP DOT, times 10). I may have to work up something to prevent this behavior.MS:C community said:Dwarven zombie corruptors (tundra) still hit you for out-of-this-world-insane poison d.o.t.
Epilepsy... Swear I've heard this one before though. Nothing in the script that could make it happen (wouldn't even know how to do that if I wanted to.)MS:C community said:One of Slithar's treasure chests stole Slithar's poison d.o.t. (after Slithar died) and tried to kill me.
Buggers are supposed to be invulnerable, but I guess they are not.MS:C community said:...but I took revenge by having my acid plate poison the statue in front of Venevus' chamber.
Not quite sure what yer at - yer saying the wall toggles off while they are still alive? Mayhaps... If you kill one, it turns off, and when you kill the second, it turns on again?MS:C community said:Kind of vague description here, but it's again related to the # of HP in-game (or not). In the hunderswamp_north cave system, both abominations seem to have the ability to open the vine door thing that blocks the entrance to the cave. However, seeing as how that door is a func_wall_toggle, you might get locked inside. I'd like to be less vague but I've only seen this happen once.
lostcastle_msc/map_startup.scriptMS:C community said:For some reason, lostcastle_msc is identified as challs.
{ [shared]
const MAP_NAME 'lostcastle_msc'
const MAP_WEATHER "clear;clear;clear;clear;clear;clear"
const MAP_ALLOWNIGHT 0
setvarg MAP_CON 1
setvarg G_MAP_NAME "Curse of the Bear Gods: Lost Castle by Crow"
setvarg G_MAP_DESC "The undead guardians of the Bear Gods dwell in this cursed castle"
setvarg G_MAP_DIFF "Levels 15-25 / 150-400hp"
setvarg G_WARN_HP 100
}
#include worlditems/map_startup
Probably not that I've not already done... But hey, it's better than the days when you had to pick up arrows to stop the server from crashing, yes? (I hope - okay, barely...)MS:C community said:The ending of old_helena still has a high propensity for crashing. Is there something you can do about this?
Yay! Something easy! (Fixed.)MS:C community said:Here's some ancient aleyesu bug (see the NPC dialogue).
Via menu or chat?MS:C community said:Kickvote doesn't seem to work.
Think this is intentional. Warm up round.MS:C community said:Sometimes, in bloodrose, one or two stone skeletons spawn before you even reach the statue.
Epilepsy?MS:C community said:And this one time in lodagond-1, all stone skeletons awoke simultaneously (possibly due to lag, but it's a rare freak bug so probably not important).
I'll have to look into how their spawn locations are determined - can't recall if they are on spawners, or he actually creates them. If the latter, might be tricky to fix.MS:C community said:Sometimes the titan in thanatos spawns one of his scorpion friends above the arena, stuck in the skybox.
Probably not much I can do about this one... Short of a code side fix for determining where to create dropped items - or short of removing the item requirement entirely, and just having Vadrel assume you gave him head when the bugger dies.MS:C community said:In the foutpost cave, a part of the cave floor is sloped. If you kill the warboss when he's standing on this slope, his head will spawn under the slopen and fall out of the map.
Almost as silly as bows shooting 2 arrows that both do damage...Dark Fox said:I seem to have noticed that the bows that shoots arrows are broken.
There's 2 problems, 1st of them is that the bows don't shoot from time to time when you fire.
The 2nd one is the one that annoys me the most, when you shoot at an enemy 50% the arrows won't do damage at all, and it's not lag caused because when I used the Frost Bow the freeze effect applied but I didn't do any damage.
It's really frustrating when you're trying to train archery without torking it all the way.
Tails said:is there going be a new patch? the server dont run as good with d patch or your just having trouble with the servers?
Thanks, works just fine nowLucifer Majiskus said:Try putting any shield you have on your back, into a bag... or getting rid of it altogether :?
You may not have the required level to use that charge, yet... but you do have the requirements to use the fire-wave with it, possibly.CmdrQuartz said:Is the dragon lance supposed to have a heavy attack? there's no difference between a normal attack and the first charge attack in damage or animation
{ [shared]
setvard MATCHED_SET 1
setvard MATCHED_SET_TYPE vsword
//const BWEAPON_BASE_ANIM_SPEED 1.75
const BWEAPON_NAME "a|Blood Blade"
const BWEAPON_DESC "A sinuous blade of dark steel (matched set)"
const BWEAPON_WEIGHT 1
const BWEAPON_VALUE 3000
const BWEAPON_INV_SPRITE_IDX 190
const BWEAPON_HANDS right
const BASE_LEVEL_REQ 30
const BWEAPON_CUSTOM_DRAW 1
const BWEAPON_CUSTOM_SWITCHHANDS 1
const BITEM_CUSTOM_ATK2_EVENT 1
const BITEM_CUSTOM_ATK1_EVENT 1
const VMODEL_FILE viewmodels/v_1hswords.mdl
const VMODEL_IDX 7
const PMODEL_FILE weapons/p_weapons4.mdl //p_model (world/player model file)
const PMODEL_IDX_FLOOR 45 //p_model floor offset (-1 from JHLMV index)
const PMODEL_IDX_HAND_RIGHT 43 //p_model hands offset (-1 from JHLMV index)
const PMODEL_IDX_HAND_LEFT 44 //p_model hands offset (-1 from JHLMV index)
const PMODEL_IDX_HANDS 43
const PANIM_IDLE aim_axe_onehand
const PANIM_EXT axe_onehand //extention for automatic player anims
const VANIM_DRAW 0 //6 if other hand empty
const VANIM_IDLE 20 //7 if other hand empty
setvar C_VANIM_DRAW 0
setvar C_VANIM_IDLE 20
const VANIM_DRAW_SNG 6
const VANIM_IDLE_SNG 7
//ATK1_VANIM_SNG //8-11
//ATK2_VANIM_SNG //12
//ATK1_VANIM //2
//ATK2_VANIM //4
const VANIM_BLOCK 16
const VANIM_BLOCK_OFH 18
const WANIM_FLOOR standard_floor_idle
const WANIM_HAND standard_idle
const ATK1_TYPE strike-land //strike-land|target|charge-throw-projectile|hold-strike
const ATK1_KEYS +attack1
const ATK1_RANGE 80 //max reach
const ATK1_DMG 250 //max damage
const ATK1_DMG_RANGE 10 //damage +/-
const ATK1_DMG_TYPE dark //damage type
const ATK1_STAMINA 0.1 //stamina drain
const ATK1_SKILL swordsmanship //skill to use for dmg and xp
const ATK1_ACCURACY 85% //base chance to hit (raises slightly with skill)
const ATK1_DELAY_STRIKE 0.2 //delay before attack strikes (to match viewmodel anim)
const ATK1_DURATION 0.7 //total delay before attack completes
const ATK1_OFS 0 //should control ofset of attack, but not seen used
const ATK1_ANG 0 //should control angle of attack, but not seen used
const ATK1_CALLBACK atk1 //callback prefix (atk1_start atk1_strike atk1_dodamage etc.)
const ATK1_NOISE 650 //radius of noise that attacks alert monsters that can hear
const ATK1_SKILL_LEVEL BASE_LEVEL_REQ //base weapon requirements
const ATK1_MPDRAIN 0 //mana drain
const ATK1_DMG_MULTI 0 //multiply dmg
const ATK1_NO_AUTOAIM 0 //don't use auto aim
const ATK1_PANIM axe_onehand_swing //player anim for this atk
const ATK1_VANIM 2 //viewmodel anim for this atk
const SOUND_ATK1 weapons/cbar_miss1.wav //sound to play when attack starts
const PITCH_ATK1 $randf(100,125)
const SOUND_HITWALL1 weapons/cbar_hit1.wav
const SOUND_HITWALL2 weapons/cbar_hit2.wav
const ATK2_RANGE 110 //max reach
const ATK2_DMG_MULTI 2
const ATK2_DELAY_STRIKE 0.4 //delay before attack strikes (to match viewmodel anim)
const ATK2_DURATION 0.8 //total delay before attack completes
const SOUND_ATK2 SOUND_ATK1
const PITCH_ATK2 $randf(80,100)
const SOUND_BLOCK1 weapons/cbar_hit2.wav
}
#include items/base_weapon_new
//custom draw, anims vary with weapons
{ bitem_draw
playviewanim break
playanim break
setviewmodel VMODEL_FILE
setmodel PMODEL_FILE
setworldmodel PMODEL_FILE
local L_PMODEL_IDX_HANDS PMODEL_IDX_HANDS
if ( BWEAPON_HANDS equals right ) add L_PMODEL_IDX_HANDS game.item.hand_index
setmodelbody 0 L_PMODEL_IDX_HANDS
setanimext PANIM_EXT
playanim WANIM_HAND
setvard NEXT_BLOCK game.time
add NEXT_BLOCK 2.0
callevent 0.1 set_anims
//callevent 0.15 cl_play_draw
}
{ set_anims
if ( game.serverside )
{
if ( !SENT_HELP_TIP )
{
helptip ent_owner vswordmatch "MATCHED SET WEAPON" "If you can find another vampyric sword, you'll have no dual weild penalty with it!"
setvard SENT_HELP_TIP 1
}
callevent check_matched
//dbg bitem_draw [ game.item.hand_index ] $get(OTHER_HAND,itemname)
if ( $get(OTHER_HAND,itemname) equals fist_bare ) local SINGLE_HANDED 1
if ( $get(OTHER_HAND,itemname) equals 0 ) local SINGLE_HANDED 1
if ( SINGLE_HANDED )
{
callevent set_anims_single
callclitemevent ent_me set_anims_single 1
//splayviewanim ent_me C_VANIM_DRAW
}
else
{
callevent set_anims_double
callclitemevent ent_me set_anims_double 1
//splayviewanim ent_me C_VANIM_DRAW
}
//if $get(ent_owner,scrtiptvar,'PLR_SWIFT_BLADE') == 0
//setviewmodelprop ent_me animspeed BWEAPON_BASE_ANIM_SPEED
}
}
{ [client] cl_play_draw
//dbg bitem_draw hndsngl HANDS_SINGLE
if ( HANDS_SINGLE equals 'HANDS_SINGLE' )
{
//not got the hand mode yet
callevent 0.1 cl_play_draw
local EXIT_SUB 1
}
if !EXIT_SUB
playviewanim C_VANIM_DRAW
}
{ [client] cl_play_idle
//dbg bitem_idle hndsngl HANDS_SINGLE
if !game.item.attacking
if ( HANDS_SINGLE equals 'HANDS_SINGLE' )
{
//not got the hand mode yet
callevent 0.1 cl_play_idle
local EXIT_SUB 1
}
if !EXIT_SUB
playviewanim C_VANIM_IDLE
}
{ [shared] set_anims_single
setvard HANDS_SINGLE 1
setvard C_VANIM_DRAW VANIM_DRAW_SNG
setvard C_VANIM_IDLE VANIM_IDLE_SNG
if game.clientside
local DONT_IDLE PARAM1
if !DONT_IDLE
playviewanim C_VANIM_IDLE
dbg *** set_anims_single
}
{ [shared] set_anims_double
setvard HANDS_SINGLE 0
setvard C_VANIM_DRAW VANIM_DRAW
setvard C_VANIM_IDLE VANIM_IDLE
if game.clientside
local DONT_IDLE PARAM1
if !DONT_IDLE
playviewanim C_VANIM_IDLE
dbg *** set_anims_double
}
{ game_switchhands
callevent set_idle
}
{ ext_off_hand_change //<item_id>
callevent set_idle
callevent check_matched
}
{ set_idle
if ( game.serverside )
{
if ( game.item.hand_index == 0 )
{
setvard OTHER_HAND $get(ent_owner,scriptvar,'PLR_LEFT_HAND')
}
else
{
setvard OTHER_HAND $get(ent_owner,scriptvar,'PLR_RIGHT_HAND')
}
//dbg bitem_draw [ game.item.hand_index ] $get(OTHER_HAND,itemname)
if ( $get(OTHER_HAND,itemname) equals fist_bare ) local SINGLE_HANDED 1
if ( $get(OTHER_HAND,itemname) equals 0 ) local SINGLE_HANDED 1
if ( SINGLE_HANDED )
{
callevent set_anims_single
callclitemevent ent_me set_anims_single
}
else
{
callevent set_anims_double
callclitemevent ent_me set_anims_double
}
}
//if game.clientside
//callevent cl_play_idle //give a sec for anim info to propigate
}
{ check_keys_loop
if MATCHED_SET_ACTIVE
if $get(ent_owner,scriptvar,'PLR_ACTIVE_WEAPON') equals $get(ent_me,id)
callevent 0.25 check_keys_loop
//dbg check_keys_loop
setvard LAST_KEY_CHECK game.time
if ( BLOCK_ON )
{
If !$get(ent_owner,keydown,use)
callevent block_end
}
if !BLOCK_ON
if game.time > NEXT_BLOCK
if $get(ent_owner,keydown,use)
setvard NEXT_BLOCK game.time
add NEXT_BLOCK 1.0
callevent check_matched
if MATCHED_SET_ACTIVE
splayviewanim ent_me VANIM_BLOCK
setvard BLOCK_ON 1
playowneranim critical aim_fists global.anim.combatwalk 3
callexternal OTHER_HAND match_block_anim
callevent lock_weapon
//scriptflags ent_owner add wvsword nopush 1 -1 none
}
{ block_end
if BLOCK_ON
splayviewanim ent_me C_VANIM_IDLE
setvard BLOCK_ON 0
setvard NEXT_BLOCK game.time
add NEXT_BLOCK 1.0
playowneranim once PANIM_IDLE global.anim.combatwalk 3
callevent unlock_weapon
callexternal OTHER_HAND match_unblock_anim
//scriptflags ent_owner remove wcre
}
{ game_putinpack
if ( BLOCK_ON ) scriptflags ent_owner remove wcre
setvard BLOCK_ON 0
setvard MATCHED_SET_ACTIVE 0
}
{ game_takedamage //1: Attacker 2: Inflictor 3: dmg 4: dmg type
if BLOCK_ON
if $get(ent_owner,scriptvar,'PLR_ACTIVE_WEAPON') equals $get(ent_me,id)
if ( PARAM4 startswith target ) local CANT_BLOCK 1
if ( PARAM4 contains effect ) local CANT_BLOCK 1
if ( $get(PARAM2,itemname) startswith proj_arrow ) local CANT_BLOCK 1 //can't block arrows with these
if !CANT_BLOCK
if PARAM1 isnot $get(ent_owner,id)
if $get(PARAM1,relationship,ent_owner) equals enemy
local OWNER_POS $get(ent_owner,origin)
local OWNER_ANG $get(ent_owner,angles)
local ATTACKER_POS $get(PARAM1,origin)
if $within_cone2D(ATTACKER_POS,OWNER_POS,OWNER_ANG,100)
local INC_DMG PARAM3
local OUT_DMG PARAM3
multiply OUT_DMG 0.25
setdmg dmg OUT_DMG
local AMT_BLOCKED INC_DMG
subtract AMT_BLOCKED OUT_DMG
if ( AMT_BLOCKED > 1 ) local AMT_BLOCKED $int(AMT_BLOCKED)
playsound 4 10 SOUND_BLOCK1 0.8 $randf(125.00,150.00)
yplayermessage ent_owner Vampyric Swords blocked AMT_BLOCKED hp
}
{ match_block_anim
splayviewanim ent_me VANIM_BLOCK_OFH
}
{ match_unblock_anim
splayviewanim ent_me C_VANIM_IDLE
}
{ lock_weapon
callexternal ent_owner ext_removed_effects lock
applyeffect ent_owner effects/effect_templock $get(ent_owner,id)
}
{ unlock_weapon
callexternal ent_owner ext_remove_lock
}
{ check_matched
if ( game.item.hand_index == 0 )
{
setvard OTHER_HAND $get(ent_owner,scriptvar,'PLR_LEFT_HAND')
}
else
{
setvard OTHER_HAND $get(ent_owner,scriptvar,'PLR_RIGHT_HAND')
}
if ( $get(OTHER_HAND,scriptvar,'MATCHED_SET_TYPE') equals MATCHED_SET_TYPE )
{
setvard MATCHED_SET_ACTIVE 1
}
else
{
setvard MATCHED_SET_ACTIVE 0
}
if ( $get(OTHER_HAND,itemname) equals fist_bare ) local SINGLE_HANDED 1
if ( $get(OTHER_HAND,itemname) equals 0 ) local SINGLE_HANDED 1
if ( SINGLE_HANDED )
{
callevent set_anims_single
callclitemevent ent_me set_anims_single 1
//splayviewanim ent_me C_VANIM_DRAW
}
else
{
callevent set_anims_double
callclitemevent ent_me set_anims_double 1
//splayviewanim ent_me C_VANIM_DRAW
}
//dbg check_matched MATCHED_SET_ACTIVE
if MATCHED_SET_ACTIVE
local L_LAST_KEY_CHECK LAST_KEY_CHECK
add L_LAST_KEY_CHECK 1
if ( game.time > L_LAST_KEY_CHECK )
{
callevent check_keys_loop
}
if ( !GAVE_MATCH_SET_MSG )
{
setvard GAVE_MATCH_SET_MSG 1
infomsg ent_owner "MATCHED SET ABILITY" "Hold +use to block with Vampyric Blades"
}
}
{ ext_activate_items
callevent check_matched
}
{ atk1_start
dbg hands HANDS_SINGLE
if ( !HANDS_SINGLE )
{
local L_VANIM 19
}
else
{
local L_VANIM $rand(8,11)
}
playviewanim L_VANIM
playowneranim critical ATK1_PANIM global.anim.combatwalk 3
playsound 1 10 SOUND_ATK1 0.8 PITCH_ATK1
}
{ atk2_start
dbg hands HANDS_SINGLE
if ( !HANDS_SINGLE )
{
local L_VANIM 17
}
else
{
local L_VANIM 17
}
playviewanim L_VANIM
playowneranim critical ATK2_PANIM global.anim.combatwalk 3
playsound 1 10 SOUND_ATK2 0.8 PITCH_ATK2
}
{ atk1_damaged_other //PARAM1=target_hit PARAM2=dmg PARAM3=dmg_type //items return attcallback_damaged_other
local PASS_PAR1 PARAM1
local PASS_PAR2 PARAM2
callevent blood_drain PASS_PAR1 PASS_PAR2
}
{ atk2_damaged_other //PARAM1=target_hit PARAM2=dmg PARAM3=dmg_type //items return attcallback_damaged_other
local PASS_PAR1 PARAM1
local PASS_PAR2 PARAM2
callevent blood_drain PASS_PAR1 PASS_PAR2
}
{ atk1_end
if ( game.serverside ) callevent check_matched
if game.clientside
callevent 1.0 cl_play_idle
}
{ atk2_end
if ( game.serverside ) callevent check_matched
if game.clientside
callevent 1.0 cl_play_idle
}
{ blood_drain //<target_hit> <dmg>
local CUR_TARG PARAM1
if $get(CUR_TARG,relationship,ent_owner) equals enemy
if ( $get(CUR_TARG,race) equals undead ) local IS_IMMUNE 1
if ( !IS_IMMUNE ) local IS_IMMUNE $get(CUR_TARG,scriptvar,'IMMUNE_VAMPIRE')
if ( IS_IMMUNE )
{
if game.time > NEXT_BLOOD_DRAIN_WARN
setvard NEXT_BLOOD_DRAIN_WARN game.time
add NEXT_BLOOD_DRAIN_WARN 3.0
dplayermessage ent_owner Vampyric Blade: $get(CUR_TARG,name) is immune to vampyric effects.
}
if !IS_IMMUNE
local DMG_DONE PARAM2
local HEAL_AMT DMG_DONE
multiply HEAL_AMT 0.1
if $get(ent_owner,hp) < $get(ent_owner,maxhp)
if ( FX_SPAMMERS < MAX_FX_SPAMMERS )
{
effect glow ent_owner (0,100,0) 60 0.5 0.5
playsound 0 10 player/heartbeat_noloop.wav
}
givehp ent_owner HEAL_AMT
}
Thothie said:I'll stick it up on the unexamined list... Odd, I tend to use that one a lot, not had a problem with it this patch.
Granted, that was before Valve broke my mouse.