From Dark and Darker Wiki

mNo edit summary
(Moved "Adventure Points" within the if statement.)
 
(17 intermediate revisions by the same user not shown)
Line 2: Line 2:
<div style="{{#if:{{{nomargin|}}}||margin-left:10px;}}background-color:rgb(var(--background-color),0.3); max-width:470px; {{#ifeq:{{{nofloat|}}}|1||float:right;}}">
<div style="{{#if:{{{nomargin|}}}||margin-left:10px;}}background-color:rgb(var(--background-color),0.3); max-width:470px; {{#ifeq:{{{nofloat|}}}|1||float:right;}}">
<div style="width: 280px;padding:20px; box-shadow: inset 0px 0px 20px 5px rgb(0 0 0 / 0.5);display:flex; flex-direction:column; align-items:center;background-color:rgb(var(--rarity-{{{rarity|}}}),0.05);border:2px solid rgb(var(--rarity-{{{rarity|1}}}),0.5);"class="itemboxheader">
<div style="width: 280px;padding:20px; box-shadow: inset 0px 0px 20px 5px rgb(0 0 0 / 0.5);display:flex; flex-direction:column; align-items:center;background-color:rgb(var(--rarity-{{{rarity|}}}),0.05);border:2px solid rgb(var(--rarity-{{{rarity|1}}}),0.5);"class="itemboxheader">
<div class="bold colorrarity{{{rarity}}}" style="margin-top:0px!important;font-size:22px;">{{{name}}}</div></div>
<div class="bold" style="margin-top:0px!important;font-size:22px">
{{#switch:1
|{{#ifeq:{{{link|}}}|nolink|1}}=
{{{name}}}
|{{#if:{{{link|}}}|1}}=
[[{{{link}}}|<span class="colorrarity{{{rarity}}}">{{{name}}}</span>]]
|#default=
[[{{{name}}}|<span class="colorrarity{{{rarity}}}">{{{name}}}</span>]]}}</div></div>
<div style="width: 280px; border:2px solid rgb(70,70,70,0.5); padding:20px;">
<div style="width: 280px; border:2px solid rgb(70,70,70,0.5); padding:20px;">
<div style="display:flex; flex-direction:column; align-items:center;"><!--
<div style="display:flex; flex-direction:column; align-items:center;"><!--
-->{{Iconbox|{{{name}}}|image={{{image|{{{name}}}}}}.png|caption=no|nolink=1|size={{{size|100x200px}}}}}</div><!--
-->{{Iconbox|{{{name}}}|image={{{image|{{{name}}}}}}.png|caption=no|link={{{link|nolink}}}|size={{{size|100x200px}}}}}</div><!--
-->{{#if:{{{stats|}}}<!--
-->{{#if:{{{stats|}}}{{{enchantments|}}}{{{special|}}}<!--
-->|<div class="line" style="background-image:linear-gradient(to right,rgb(10,10,10),rgb(100,100,100),rgb(10,10,10))"></div><!-- Line -->
-->|<div class="line" style="background-image:linear-gradient(to right,rgb(10,10,10),rgb(100,100,100),rgb(10,10,10))"></div><!-- Line -->
<div style="display:flex; flex-direction:column; align-items:center; text-align:center">
<div style="display:flex; flex-direction:column; align-items:center; text-align:center"><!--
<!--
-->{{#arraydefine:stats|{{{stats|}}}}}<!--
-->{{#arraydefine:stats|{{{stats|}}}}}<!--
-->{{#loop:i|0|{{#arraysize:stats}}<!--
-->{{#loop:i|0|{{#arraysize:stats}}<!--
-->|{{#vardefine:stat|{{#arrayindex:stats|{{#var:i}} }} }}<!--
-->|<nowiki/>{{#vardefine:stat|{{#arrayindex:stats|{{#var:i}} }} }}<!--
--><div style="{{#ifeq:{{ #var:i }}|0||margin-top:10px;}}display:flex;width:100%;flex-direction:row; justify-content:space-between;"><!--
--><div style="{{#ifeq:{{ #var:i }}|0||margin-top:10px;}}display:flex;width:100%;flex-direction:row; justify-content:space-between;"><!--
--><div style="padding:0px 5px;" class="bold">-</div><!--
--><div style="padding:0px 5px;" class="bold">-</div><!--
Line 31: Line 37:
--><div style="display:flex; flex-direction:column; align-items:center; font-size:18px; text-align:center;">
--><div style="display:flex; flex-direction:column; align-items:center; font-size:18px; text-align:center;">
{{{effect}}}</div>}}<!--
{{{effect}}}</div>}}<!--
-->{{#if:{{{classes|}}}{{{type|}}}{{{armortype|}}}{{{weapontype|}}}{{{utilitytype|}}}{{{slottype|}}}{{{handtype|}}}{{{actiontime|}}}{{{attackspeed|}}}{{{reloadspeed|}}}{{{quiversize|}}}<!--
-->{{#if:{{{compact_effect|}}}<!--
-->|<div class="line" style="background-image:linear-gradient(to right,rgb(10,10,10),rgb(100,100,100),rgb(10,10,10))"></div><!--
--><div style="text-align:center">
{{{compact_effect}}}</div>}}<!--
-->{{#if:{{{classes|}}}{{{type|}}}{{{armortype|}}}{{{weapontype|}}}{{{utilitytype|}}}{{{slottype|}}}{{{handtype|}}}{{{actiontime|}}}{{{interactiontime|}}}{{{attackspeed|}}}{{{reloadspeed|}}}{{{quiversize|}}}<!--
-->|<div class="line" style="background-image:linear-gradient(to right,rgb(10,10,10),rgb(100,100,100),rgb(10,10,10))"></div><!--
-->|<div class="line" style="background-image:linear-gradient(to right,rgb(10,10,10),rgb(100,100,100),rgb(10,10,10))"></div><!--
-->{{#if:{{{classes|}}}<!--
-->{{#if:{{{classes|}}}<!--
Line 43: Line 53:
-->{{#if:{{{armortype|}}}<!--
-->{{#if:{{{armortype|}}}<!--
-->|<div style="display:flex; flex-direction:row; justify-content:center; white-space:pre-wrap;"><!--
-->|<div style="display:flex; flex-direction:row; justify-content:center; white-space:pre-wrap;"><!--
--><div style="text-align:right; color:rgb(70,70,70)">Weapon Type: </div><!--
--><div style="text-align:right; color:rgb(70,70,70)">Armor Type: </div><!--
--><div style="color:rgb(160,160,140)">{{{armortype|}}}</div></div>}}<!--
--><div style="color:rgb(160,160,140)">{{{armortype|}}}</div></div>}}<!--
-->{{#if:{{{weapontype|}}}<!--
-->{{#if:{{{weapontype|}}}<!--
-->|<div style="display:flex; flex-direction:row; justify-content:center; white-space:pre-wrap;"><!--
-->|<div style="display:flex; flex-direction:row; justify-content:center; white-space:pre-wrap;"><!--
--><div style="text-align:right; color:rgb(70,70,70)">Armor Type: </div><!--
--><div style="text-align:right; color:rgb(70,70,70)">Weapon Type: </div><!--
--><div style="color:rgb(160,160,140)">{{{weapontype|}}}</div></div>}}<!--
--><div style="color:rgb(160,160,140)">{{{weapontype|}}}</div></div>}}<!--
-->{{#if:{{{utilitytype|}}}<!--
-->{{#if:{{{utilitytype|}}}<!--
Line 65: Line 75:
--><div style="text-align:right; color:rgb(70,70,70)">Action Time: </div><!--
--><div style="text-align:right; color:rgb(70,70,70)">Action Time: </div><!--
--><div style="color:rgb(160,160,140)">{{{actiontime}}}</div></div>}}<!--
--><div style="color:rgb(160,160,140)">{{{actiontime}}}</div></div>}}<!--
-->{{#if:{{{interactiontime|}}}<!--
-->|<div style="display:flex; flex-direction:row; justify-content:center; white-space:pre-wrap;"><!--
--><div style="text-align:right; color:rgb(70,70,70)">Interaction Time: </div><!--
--><div style="color:rgb(160,160,140)">{{{interactiontime}}}</div></div>}}<!--
-->{{#if:{{{attackspeed|}}}<!--
-->{{#if:{{{attackspeed|}}}<!--
-->|<div style="display:flex; flex-direction:row; justify-content:center; white-space:pre-wrap;"><!--
-->|<div style="display:flex; flex-direction:row; justify-content:center; white-space:pre-wrap;"><!--
Line 107: Line 121:
--><div style="color:rgb(70,70,70)">Action Move Speed<br></div><!--
--><div style="color:rgb(70,70,70)">Action Move Speed<br></div><!--
--><div style="color:rgb(160,160,140)">{{{actionmovementspeed}}}</div></div>}} }}<!--
--><div style="color:rgb(160,160,140)">{{{actionmovementspeed}}}</div></div>}} }}<!--
-->{{#if:{{{duration|}}}{{{openduration|}}}{{{picklockduration|}}}{{{interactioncount|}}}{{{race|}}}{{{location|}}}{{{invslots|}}}{{{stacksize|}}}<!--
-->{{#if:{{{duration|}}}{{{openduration|}}}{{{picklockduration|}}}{{{miningduration|}}}{{{harvestingduration|}}}{{{lootduration|}}}{{{activateduration|}}}<!--
-->{{{interactioncount|}}}{{{race|}}}{{{location|}}}{{{invslots|}}}{{{stacksize|}}}{{{sellprice|}}}<!--
-->|<div class="line" style="background-image:linear-gradient(to right,rgb(10,10,10),rgb(100,100,100),rgb(10,10,10))"></div><!--
-->|<div class="line" style="background-image:linear-gradient(to right,rgb(10,10,10),rgb(100,100,100),rgb(10,10,10))"></div><!--
-->{{#if:{{{duration|}}}<!--
-->{{#if:{{{duration|}}}<!--
Line 121: Line 136:
--><div style="text-align:right; color:rgb(70,70,70)">Picking Lock: </div><!--
--><div style="text-align:right; color:rgb(70,70,70)">Picking Lock: </div><!--
--><div style="color:rgb(160,160,140)">{{{picklockduration}}} s</div></div>}}<!--
--><div style="color:rgb(160,160,140)">{{{picklockduration}}} s</div></div>}}<!--
-->{{#if:{{{miningduration|}}}<!--
-->|<div style="display:flex; flex-direction:row; justify-content:center; white-space:pre-wrap;"><!--
--><div style="text-align:right; color:rgb(70,70,70)">Mining: </div><!--
--><div style="color:rgb(160,160,140)">{{{miningduration}}} s</div></div>}}<!--
-->{{#if:{{{harvestingduration|}}}<!--
-->|<div style="display:flex; flex-direction:row; justify-content:center; white-space:pre-wrap;"><!--
--><div style="text-align:right; color:rgb(70,70,70)">Harvesting: </div><!--
--><div style="color:rgb(160,160,140)">{{{harvestingduration}}} s</div></div>}}<!--
-->{{#if:{{{lootduration|}}}<!--
-->|<div style="display:flex; flex-direction:row; justify-content:center; white-space:pre-wrap;"><!--
--><div style="text-align:right; color:rgb(70,70,70)">Looting: </div><!--
--><div style="color:rgb(160,160,140)">{{{lootduration}}} s</div></div>}}<!--
-->{{#if:{{{activateduration|}}}<!--
-->|<div style="display:flex; flex-direction:row; justify-content:center; white-space:pre-wrap;"><!--
--><div style="text-align:right; color:rgb(70,70,70)">Activating: </div><!--
--><div style="color:rgb(160,160,140)">{{{activateduration}}} s</div></div>}}<!--
-->{{#if:{{{interactioncount|}}}<!--
-->{{#if:{{{interactioncount|}}}<!--
-->|<div style="display:flex; flex-direction:row; justify-content:center; white-space:pre-wrap;"><!--
-->|<div style="display:flex; flex-direction:row; justify-content:center; white-space:pre-wrap;"><!--
Line 134: Line 165:
--><div style="color:rgb(160,160,140)">{{{location}}}</div></div>}}<!--
--><div style="color:rgb(160,160,140)">{{{location}}}</div></div>}}<!--
-->{{#if:{{{invslots|}}}<!--
-->{{#if:{{{invslots|}}}<!--
-->|<div style="display:flex; margin-top:10px; flex-direction:column; align-items:center; text-align:center;"><!--
-->|<div style="display:flex; margin-top:10px; flex-direction:column; align-items:center; text-align:center; margin-bottom:15px"><!--
-->{{{invslots}}}</div>}}<!--
-->{{{invslots}}}</div>}}<!--
-->{{#if:{{{stacksize|}}}<!--
-->{{#if:{{{stacksize|}}}<!--
-->|<div style="display:flex; flex-direction:row; justify-content:center; white-space:pre-wrap;"><!--
-->|<div style="display:flex; flex-direction:row; justify-content:center; white-space:pre-wrap;"><!--
--><div style="text-align:right; color:rgb(70,70,70)">Stack Size: </div><!--
--><div style="text-align:right; color:rgb(70,70,70)">Stack Size: </div><!--
--><div style="color:rgb(160,160,140)">{{{stacksize}}}</div></div>}} }}<!--
--><div style="color:rgb(160,160,140)">{{{stacksize}}}</div></div>}}<!--
-->{{#if:{{{sellprice|}}}<!--
-->|<div style="display:flex; flex-direction:row; justify-content:center; white-space:pre-wrap;"><!--
--><div style="text-align:right; color:rgb(70,70,70)">Sell Price: </div><!--
--><div style="color:rgb(160,160,140)">{{{sellprice}}}</div></div>}} }}<!--
-->{{#if:{{{experience|}}}{{{xp|}}}{{{monsterkill|}}}{{{subbosskill|}}}{{{bosskill|}}}{{{highendpropinteraction|}}}{{{propinteraction|}}}{{{itemachieve|}}}{{{treasure|}}}<!--
-->{{#if:{{{experience|}}}{{{xp|}}}{{{monsterkill|}}}{{{subbosskill|}}}{{{bosskill|}}}{{{highendpropinteraction|}}}{{{propinteraction|}}}{{{itemachieve|}}}{{{treasure|}}}<!--
-->|<div class="line" style="background-image:linear-gradient(to right,rgb(10,10,10),rgb(100,100,100),rgb(10,10,10))"></div><!--
-->|<div class="line" style="background-image:linear-gradient(to right,rgb(10,10,10),rgb(100,100,100),rgb(10,10,10))"></div><!--
-->{{#if:{{{experience|}}}{{{xp|}}}<!--
-->{{#if:{{{propinteraction|}}}<!--
-->|<div style="text-align:center; color:rgb(70,70,70); font-size:18px">Experience Points</div><!--
-->|<div style="text-align:center; color:rgb(70,70,70); font-size:18px">'''Adventure Points'''</div><!--
--><div style="display:flex; flex-direction:row; justify-content:center; white-space:pre-wrap;"><!--
--><div style="display:flex; flex-direction:row; justify-content:center; white-space:pre-wrap;"><!--
--><div style="color:rgb(160,160,140)">{{{experience|}}}{{{xp|}}}</div></div>}}<!--
--><div style="text-align:center; color:rgb(70,70,70); font-size:18px">Adventure Points</div><!--
-->{{#if:{{{propinteraction|}}}<!--
-->|<div style="display:flex; flex-direction:row; justify-content:center; white-space:pre-wrap;"><!--
--><div style="text-align:right; color:rgb(70,70,70)">Props Interaction: </div><!--
--><div style="text-align:right; color:rgb(70,70,70)">Props Interaction: </div><!--
--><div style="color:rgb(160,160,140)">{{{propinteraction|}}}</div></div>}}<!--
--><div style="color:rgb(160,160,140)">{{{propinteraction|}}}</div></div>}}<!--
-->{{#if:{{{highendpropinteraction|}}}<!--
-->{{#if:{{{highendpropinteraction|}}}<!--
-->|<div style="display:flex; flex-direction:row; justify-content:center; white-space:pre-wrap;"><!--
-->|<div style="text-align:center; color:rgb(70,70,70); font-size:18px">'''Adventure Points'''</div><!--
--><div style="display:flex; flex-direction:row; justify-content:center; white-space:pre-wrap;"><!--
--><div style="text-align:right; color:rgb(70,70,70)">High-End Props Interaction: </div><!--
--><div style="text-align:right; color:rgb(70,70,70)">High-End Props Interaction: </div><!--
--><div style="color:rgb(160,160,140)">{{{highendpropinteraction|}}}</div></div>}}<!--
--><div style="color:rgb(160,160,140)">{{{highendpropinteraction|}}}</div></div>}}<!--
Line 174: Line 206:
-->|<div style="display:flex; flex-direction:row; justify-content:center; white-space:pre-wrap;"><!--
-->|<div style="display:flex; flex-direction:row; justify-content:center; white-space:pre-wrap;"><!--
--><div style="text-align:right; color:rgb(70,70,70)">Treasure: </div><!--
--><div style="text-align:right; color:rgb(70,70,70)">Treasure: </div><!--
--><div style="color:rgb(160,160,140)">{{{treasure|}}}</div></div>}} }}<!--
--><div style="color:rgb(160,160,140)">{{{treasure|}}}</div></div>}}<!--
-->{{#if:{{{experience|}}}{{{xp|}}}<!--
-->|<div style="text-align:center; color:rgb(70,70,70); font-size:18px; margin-top:10px">'''Experience Points'''</div><!--
--><div style="display:flex; flex-direction:row; justify-content:center; white-space:pre-wrap;"><!--
--><div style="color:rgb(160,160,140)">{{{experience|}}}{{{xp|}}}</div></div>}} }}<!--
-->{{#if:{{{description|}}}<!--
-->{{#if:{{{description|}}}<!--
-->|<div class="line" style="background-image:linear-gradient(to right,rgb(10,10,10),rgb(100,100,100),rgb(10,10,10))"></div><!--
-->|<div class="line" style="background-image:linear-gradient(to right,rgb(10,10,10),rgb(100,100,100),rgb(10,10,10))"></div><!--
Line 185: Line 221:
<th>Code</th>
<th>Code</th>
<th>Preview</th></tr>
<th>Preview</th></tr>
<tr>
<tr>
<td style="padding: 20px 30px;">
<td style="padding: 20px 30px;">
An example with all options, the information is not correct
An example with all options, the information is not correct
<pre>{{Infobox
<pre>{{Infobox
|name =Arming Sword
|name =Arming Sword
Line 227: Line 263:
|nomargin =used for tabs
|nomargin =used for tabs
|size =50x50px}}</pre>
|size =50x50px}}</pre>
This usage is not recommended, just here as an example</td>
This usage is not recommended, just here as an example</td>


<td style="padding: 20px 50px;"><!--
<td style="padding: 20px 50px;"><!--
-->{{Infobox<!--
-->{{Infobox
-->|name =Arming Sword<!--
|name =Arming Sword
-->|image =Arming Sword 7<!--
|image =Arming Sword 7
-->|rarity =7<!--
|link=Falchion
-->|stats =Weapon Damage 2,Move Speed -20,Agility 1,Knowledge 4,Will 2<!--
|rarity =7
-->|special =Smites enemies for 40 extra damage<!--
|stats =Weapon Damage 2,Move Speed -20,Agility 1,Knowledge 4,Will 2
-->|effect =Heal 15 HP over 20 seconds<!--
|special =Smites enemies for 40 extra damage
-->|classes =[[Fighter]]<!--
|effect =Heal 15 HP over 20 seconds
-->|slottype =Primary Weapon<!--
|classes =[[Fighter]]
-->|handtype =One-Handed<!--
|slottype =Primary Weapon
-->|weapontype =[[Sword]]<!--
|handtype =One-Handed
-->|utilitytype =Throw<!--
|weapontype =[[Sword]]
-->|actiontime =1 second<!--
|utilitytype =Throw
-->|attackspeed =0.6s/0.56s/0.75s<!--
|actiontime =1 second
-->|reloadspeed =3.67 seconds<!--
|attackspeed =0.6s/0.56s/0.75s
-->|quiversize =7 arrows<!--
|reloadspeed =3.67 seconds
-->|stacksize =3<!--
|quiversize =7 arrows
-->|invslots =[[File:2x3InvSlot.jpg]]<!--
|stacksize =3
-->|combo =Slash/Slash/Pierce<!--
|invslots =[[File:2x3InvSlot.jpg]]
-->|combodamage =100%/100%/150%<!--
|combo =Slash/Slash/Pierce
-->|impactzones =100%/90%/70%<!--
|combodamage =100%/100%/150%
-->|hitbox =70.5 x 17.2<!--
|impactzones =100%/90%/70%
-->|actionmovementspeed=Attack -25% <br> Blockreaction: -3% <br> Riposte: -30% <br> Riposteattack: -30%<!--
|hitbox =70.5 x 17.2
-->|duration=5<!--
|actionmovementspeed=Attack -25% <br> Blockreaction: -3% <br> Riposte: -30% <br> Riposteattack: -30%
-->|openduration=3<!--
|duration=5
-->|picklockduration=3<!--
|openduration=3
-->|interactioncount=2~4<!--
|picklockduration=3
-->|propinteraction=5<!--
|interactioncount=2~4
-->|highendpropinteraction=15<!--
|propinteraction=5
-->|monsterkill=1<!--
|highendpropinteraction=15
-->|subbosskill=2<!--
|monsterkill=1
-->|bosskill=3<!--
|subbosskill=2
-->|itemachieve=4<!--
|bosskill=3
-->|treasure=5<!--
|itemachieve=4
-->|description =Made from attenuated wood overlaid with leather, providing more defenses and stability against brunt attacks.<!--
|treasure=5
-->|nofloat =used for in text infobox<!--
|description =Made from attenuated wood overlaid with leather, providing more defenses and stability against brunt attacks.
-->|nomargin =used for tabs<!--
|nofloat =used for in text infobox
-->|size =50x50px<!--
|nomargin =used for tabs
-->|xp =50}}</td></tr></table></noinclude>
|size =50x50px
|xp =50}}</td></tr></table></noinclude>

Latest revision as of 14:22, 26 September 2024

Creates an infobox for a weapon.

Example

Code Preview

An example with all options, the information is not correct

{{Infobox
	|name		=Arming Sword
	|image		=Arming Sword 7
	|rarity		=7
	|stats		=Weapon Damage 2,Move Speed -20,Agility 1,Knowledge 4,Will 2
	|special	=Smites enemies for 40 extra damage
	|effect		=Heal 15 HP over 20 seconds
	|classes	=[[Fighter]]
	|slottype	=Primary Weapon
	|handtype	=One-Handed
	|weapontype	=[[Sword]]
	|utilitytype	=Throw
	|actiontime	=1 second
	|attackspeed	=0.6s/0.56s/0.75s
	|reloadspeed	=3.67 seconds
	|quiversize	=7 arrows
	|stacksize	=3
	|invslots	=[[File:2x3InvSlot.jpg]]
	|combo		=Slash/Slash/Pierce
	|combodamage	=100%/100%/150%
	|impactzones	=100%/90%/70%
	|hitbox		=70.5 x 17.2
	|actionmovementspeed=Attack -25% <br> Blockreaction: -3% <br> Riposte: -30% <br> Riposteattack: -30%
	|duration=5
	|openduration=3
	|picklockduration=3
	|interactioncount=2~4
	|propinteraction=5
	|highendpropinteraction=15
	|monsterkill=1
	|subbosskill=2
	|bosskill=3
	|itemachieve=4
	|treasure=5
	|description	=Made from attenuated wood overlaid with leather, 
			 providing moredefenses and stability against brunt attacks.
	|nofloat	=used for in text infobox
	|nomargin	=used for tabs
	|size	=50x50px}}
This usage is not recommended, just here as an example
Arming Sword 7.png
-
Weapon Damage 2
-
-
Move Speed -20
-
-
Agility 1
-
-
Knowledge 4
-
-
Will 2
-
-
Smites enemies for 40 extra damage
-
Heal 15 HP over 20 seconds
Required Class:
Weapon Type:
Utility Type:
Throw
Slot Type:
Primary Weapon
Hand Type:
One-Handed
Action Time:
1 second
Attack Speed:
0.6s/0.56s/0.75s
Reload Speed:
3.67 seconds
Quiver Size:
7 arrows
Combo:
Slash/Slash/Pierce
Combo Damage:
100%/100%/150%
Impact Zones:
100%/90%/70%
Hitbox:
70.5 x 17.2
Action Move Speed
Attack -25%
Blockreaction: -3%
Riposte: -30%
Riposteattack: -30%
Duration:
5 s
Opening:
3 s
Picking Lock:
3 s
Interaction Count:
2~4
2x3InvSlot.jpg
Stack Size:
3
Adventure Points
Props Interaction:
5
Adventure Points
High-End Props Interaction:
15
Monster Kill:
1
Subboss Kill:
2
Boss Kill:
3
Item Achieve:
4
Treasure:
5
Experience Points
50
Made from attenuated wood overlaid with leather, providing more defenses and stability against brunt attacks.